Document the T1 item-upsert reconciliation gate - #39
Merged
Conversation
The current timeline reconciliation is inseparable from the general render pass, and the public TurnUpsertedChange can still carry deletion authority. Record the verified split requirement before any implementation.\n\nDeletion census: 0 lines removed under src/.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
This is the mandatory T1 investigation artifact. It deliberately contains no
src/changes because the brief’s stop gate fired: timeline reconciliation is currently inseparable from the monolithicConversationWidget::renderpass, and the existing compatibility logic does not preserve every unchanged keyed widget for middle insertion/regrouping.Verified findings
requiresFullRefreshexists only in Workbench scheduling. It clears exact-content hints;ConversationWidget::rendernever receives that flag.c680e37failed specifically when a valid exact append and an item upsert shared the 16 ms window. The exact updater returned before topology reconciliation. A lone item upsert still reconciled.ItemContentReplacedChange, so it could not enter the successful exact-append early-return path.61ed370exposes neitherTurnRemovedChangenorItemRemovedChange. Its supported legacyTurnUpsertedChangecan concealreplaceItems=truedeletion authority, so moving all turn upserts to an add-only set is unsafe.The report defines the corrected follow-up scope, full call-site census, and runtime proofs required for the separate render-split implementation.
Validation
CodexUIFrontendSessionTest: passedCodexUIConversationLayoutTest: passedsrc/deletion census: 0